// define(['jquery'],() => {
//     class Header{
//         constructor() {
//             // header的内容是通过load方法异步加载的，所以要load成功的回调里才能反问道header里的DOM元素
//             // 把异步代码封装成promise
//             // 这样的好处是：把模块的核心逻辑放在constructor里而不是loadHTML里，loadHTML的逻辑共更单纯，易于维护
//             this.loadHeaderHtml().then(() => {
//                 this.search()
//             })    
//         }
//         loadHeaderHtml() {
//             return new Promise((resolve)=> {
//                 $('.header').load('/html/modules/header.html', () => {
//                     resolve()
//                 })
//             })
//         }
//         search () {
//             $('#input-search').on('keyup', function () {
//                 console.log($(this).val())
                
//             })
//         }
//     }
//     return new Header()
// });

// 这里用语法糖开发  每个木块都属一个类  有利于维护哈
// 然后 我的loadHeaderHtml 用的是 promise 因为 有可能 你会给你的header标签绑定事件 ，因为 这个 是异步请求 ，必须在请求完毕之后（也就是页面加载过来才能干之后得事）
// 这又是个同步  所用用promise
// 我先给你写哈 下次给你优化好

define(['jquery'], () => {
    class Header {
      constructor() {
        
        this.loadHTML().then(() => {
            this.calcnum()
            // this.welcome()
        })
  
      }
      loadHTML() {
        return new Promise(resolve => {
          $('header').load('/html/modules/header.html', () => {
      
            resolve()
          })
  
  
        })
      }
    //  welcome(){
    //    if(document.cookie.indexOf('user=')==-1){
    //    }else{
    //     $('.header-link1').html('欢迎您')
    //    }
    //  }
      calcnum() {
        // console.log(11);
        let cart = localStorage.getItem('cart')
        let count=0
        if (cart) {
          cart = JSON.parse(cart)
          count = cart.reduce((sum, shop) => {
            sum += shop.count
            return sum 
          }, 0)
        }
        $('#headernum').html(count)
      }

 
    }
    return new Header()
  })
  